// Following code was adopted from Microsoft's Smart Client Offline Application Block.

using System;
using System.Collections.Generic;
using System.Text;

namespace needle.Services.soab.Connectivity
{
    public interface IConnectionDetectionStrategy
    {
        /// <summary>Occurs when the ConnectionState changes.</summary>
        event ConnectionStateChangedEventHandler ConnectionStateChanged;

        /// <summary>Gets whether the application is currently Online. </summary>
        bool IsConnected { get; }

        /// <summary> Gets the state of the current connection. </summary>
        ConnectionState ConnectionState { get; }

        /// <summary> Looks up the connection status.</summary>
        bool GetConnectionStatus();
    }
}
